package com.example.selfPractise.keyWord.finalTest;

//public class Person {
//    //对于final类型的成员变量，有两种初始化方式（赋值方式），显示初始化和构造方法初始化，只能选其中一个
//
//    // 定义成员变量时指定默认值，合法。
//    final String name = "Jenny";
//    final int num;
//
//    public Person() {
//        // 在构造器中分配初始值
//        num = 20;
//    }
//
//    public Person(int num) {
//        // 在构造器中分配初始值
//        this.num = num;
//    }
//
//    public String getName() {
//        return name;
//    }
//
//    public int getNum() {
//        return num;
//    }
//
//}




public class Person {
    //对于final类型的成员变量，有两种初始化方式（赋值方式），显示初始化和构造方法初始化，只能选其中一个

    // 定义成员变量时指定默认值，合法。
    final String name = "Jenny";

    public Person() {
    }

    public Person(String name) {
        //在初始化块中已对name指定了初始值，构造器中不能对final变量重新赋值，下面赋值语句非法
        //this.name = name;
    }

    public String getName() {
        return name;
    }

    //同时也不需要set方法
//    public void setName(String name) {
//        this.name = name;
//    }
}





//
//public class Person {
//
//    private final String name;
//
//    public Person() {
//    }
//
//    public Person(String name) {
//        this.name = name;
//    }
//
//    public String getName() {
//        return name;
//    }
//
//    public void setName(String name) {
//        this.name = name;
//    }
//
//}













